package com.xbongbong.paas.service.workflow.comment;

import com.xbongbong.paas.pojo.workflow.task.dto.WorkflowCommentAddDTO;
import com.xbongbong.paas.pojo.workflow.task.dto.WorkflowCommentDeleteDTO;
import com.xbongbong.paas.pojo.workflow.task.dto.WorkflowCommentEditDTO;
import com.xbongbong.paas.pojo.workflow.task.dto.WorkflowCommentListDTO;
import com.xbongbong.paas.pojo.workflow.task.vo.WorkflowCommentAddVO;
import com.xbongbong.paas.pojo.workflow.task.vo.WorkflowCommentDeleteVO;
import com.xbongbong.paas.pojo.workflow.task.vo.WorkflowCommentListVO;
import com.xbongbong.paas.toolbox.exception.XbbException;

/**
 * @author: wufeng
 * @date: 2018/8/29 10:01
 * @desrcption: 评论操作
 */
public interface WorkflowCommentService {

    /**
     * 获取评论列表
     * @param commentListDTO
     * @return
     * @throws XbbException
     */
    WorkflowCommentListVO list(WorkflowCommentListDTO commentListDTO) throws XbbException;

    /**
     * 评论
     * @param commentAddDTO
     * @return
     * @throws XbbException
     */
    WorkflowCommentAddVO add(WorkflowCommentAddDTO commentAddDTO) throws XbbException;

    /**
     * 计数
     * @param corpid 公司id
     * @param businessType 业务类型
     * @param appId
     * @param refId 关联id
     * @return 计数
     */
    Integer getCount(String corpid, Integer businessType, Long appId, Long refId);

    /**
     *  删除评论
     * @param commentDeleteDTO
     * @throws XbbException
     */
    WorkflowCommentDeleteVO delete(WorkflowCommentDeleteDTO commentDeleteDTO) throws XbbException;

    /**
     * 工单动态编辑流程
     *
     * @param commentEditDTO
     * @throws XbbException XbbException
     * @date 2020/4/15 13:40
     */
    WorkflowCommentAddVO edit(WorkflowCommentEditDTO commentEditDTO)throws XbbException;

}
